Skip to content

Conversation

@Ivorforce
Copy link
Member

@Ivorforce Ivorforce commented Nov 26, 2024

As discussed in the godot-cpp meeting. This action is specifically intended to be used by dependants of godot-cpp, to set up godot-cpp in their own github workflows. A follow-up PR will use this github action in godot-cpp-template (edit: godotengine/godot-cpp-template#70).

There are quite a few differences to godot-cpp-template's setup steps. I don't know if they started the same but diverged later, or if godot-cpp-template has always made different decisions from godot-cpp itself. Here is godot-cpp-template's version for reference.

I based my implementation mostly on godot-cpp. Here are the key differences I see:

  • actions/setup-java@v4 and android-actions/setup-android@v3 are used on godot-cpp-template, while nttld/setup-ndk@v1 is used on godot-cpp.
    • godot-cpp-template also manually edits a bunch of variable files to get android set up.
  • emsdk caches are used by godot-cpp-template, while they are explicitly disabled on godot-cpp. This was recently decided in [Web] Don't cache emsdk #1639 and should not be reverted.
  • godot-cpp-template installs build-essential pkg-config on linux. godot-cpp only installs these dependencies for the cmake build. I conclude they may not be needed for scons builds.

I think that's all of the differences, though the github runner shall smite my PR if it's not compatible anymore.

@Ivorforce
Copy link
Member Author

Looks like caches are still working, plus the tests in godotengine/godot-cpp-template#70 have succeeded (especially, the Android ones which I was unsure of). I'm taking this as a good sign that this PR retains cross compatibility!

Copy link
Collaborator

@dsnopek dsnopek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall, this seems good to me! It's really just moving a small amount of stuff from the workflow into an action

@Ivorforce Ivorforce force-pushed the gh-action-setup-godot-cpp branch 2 times, most recently from e17cee9 to 090abe2 Compare December 6, 2024 23:50
@dsnopek dsnopek added enhancement This is an enhancement on the current functionality topic:buildsystem Related to the buildsystem or CI setup labels Dec 6, 2024
@dsnopek dsnopek added this to the 4.x milestone Dec 6, 2024
@Ivorforce Ivorforce force-pushed the gh-action-setup-godot-cpp branch from 090abe2 to 9943675 Compare December 9, 2024 15:13
Copy link
Collaborator

@dsnopek dsnopek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@dsnopek dsnopek merged commit 97c16d3 into godotengine:master Dec 9, 2024
11 checks passed
@Ivorforce Ivorforce deleted the gh-action-setup-godot-cpp branch December 9, 2024 16:41
@dsnopek
Copy link
Collaborator

dsnopek commented Jan 27, 2025

Cherry-picked for 4.2 in PR #1694

@dsnopek
Copy link
Collaborator

dsnopek commented Jan 27, 2025

Cherry-picked for 4.3 in PR #1695

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement This is an enhancement on the current functionality topic:buildsystem Related to the buildsystem or CI setup

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants